package Dao;




public abstract class DAOFactory {
	
	private static BibliotecarioDAO bibliotecarioDAO;

	public static BibliotecarioDAO getBibliotecarioDAO() {
		if (bibliotecarioDAO == null) {
			bibliotecarioDAO = new BibliotecarioDaoImp();
		}

		if (bibliotecarioDAO.isConnectionClose()) {
			bibliotecarioDAO.openConnection();
		}

		return bibliotecarioDAO;
	}
	
	private static ClienteDAO clienteDAO;
	
	public static ClienteDAO getClienteDAO() {
		if (clienteDAO == null) {
			clienteDAO = new ClienteDaoImp();
		}

		if (clienteDAO.isConnectionClose()) {
			clienteDAO.openConnection();
		}

		return clienteDAO;
	}
	
	private static EmprestimoDAO emprestimoDAO;
	
	public static EmprestimoDAO getEmprestimoDAO() {
		if (emprestimoDAO == null) {
			emprestimoDAO = new EmprestimoDaoImp();
		}

		if (emprestimoDAO.isConnectionClose()) {
			emprestimoDAO.openConnection();
		}

		return emprestimoDAO;
	}
	
	private static LivroDAO livroDAO;
	
	public static LivroDAO getLivroDAO() {
		if (livroDAO == null) {
			livroDAO = new LivroDaoImp();
		}

		if (livroDAO.isConnectionClose()) {
			livroDAO.openConnection();
		}

		return livroDAO;
	}
}
